\section{Spezifikation}
Für eine Autovermietung ist ein Softwaresystem zu implementieren. Diese verwaltet Kraftfahrzeuge unterschiedlicher Klassen (Kleinwagen, Mittelklasse, Premium und SUV). Jede Klasse hat einen bestimmten Preis, wobei dieser variabel sein kann, wenn das Fahrzeug mit einer bestimmten Sonderausstattung (Navigationssystem, Tempomat, Xenon-Licht und Klimaanlage) bestückt ist. Ein Kraftfahrzeug kann mit mehreren Sonderausstattungen bestückt sein. Für jede Sonderausstattung ist ein Aufschlag zu bezahlen und wird dem Grundpreis des Kraftfahrzeuges hinzuaddiert.\\
Ein Kraftfahrzeug hält als Information den Hersteller, den Typ sowie den fixen Preis und kann diese mit Hilfe von Getter-Funktionen zurückliefern und diese auch auf einen ostream ausgeben. Ausgegeben werden alle Informationen (Fahrzeugklasse, Hersteller, Typ, Preis ohne Extras, alle Extras mit deren Einzelpreisen, sowie der Gesamtpreis des Fahrzeuges mit den Extras).\\
Die Vermietung kann Kraftfahrzeuge hinzufügen und zwischen zwei Listen (verfügbare und reservierte Fahrzeuge) hin und her verschieben. Diese zwei Listen können auch auf ostream ausgegeben oder in eine andere Liste extrahiert werden. Standardmäßig werden neu hinzugefügte Autos der Liste der verfügbaren Fahrzeuge hinzugefügt und können erst nachträglich in die Liste der Reservierten verschoben werden.\\
Beim Extrahieren in eine andere Liste kann zusätzlich noch angegeben werden ob nur Fahrzeuge eines bestimmten Typs oder Herstellers berücksichtigt werden sollen.